{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "from sklearn.datasets import load_wine\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.metrics import accuracy_score\n",
    "from sklearn.tree import DecisionTreeClassifier\n",
    "from sklearn.ensemble import AdaBoostClassifier\n",
    "from sklearn.model_selection import GridSearchCV\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "所有特征：['alcohol', 'malic_acid', 'ash', 'alcalinity_of_ash', 'magnesium', 'total_phenols', 'flavanoids', 'nonflavanoid_phenols', 'proanthocyanins', 'color_intensity', 'hue', 'od280/od315_of_diluted_wines', 'proline']\n"
     ]
    }
   ],
   "source": [
    "wine = load_wine()\n",
    "print(f\"所有特征：{wine.feature_names}\")\n",
    "X = pd.DataFrame(wine.data, columns=wine.feature_names)\n",
    "y = pd.Series(wine.target)\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.20, random_state=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "决策树的准确率：0.694\n"
     ]
    }
   ],
   "source": [
    "\n",
    "base_model = DecisionTreeClassifier(max_depth=1, criterion='gini',random_state=1).fit(X_train, y_train)\n",
    "y_pred = base_model.predict(X_test)\n",
    "print(f\"决策树的准确率：{accuracy_score(y_test,y_pred):.3f}\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "AdaBoost的准确率：0.972\n"
     ]
    }
   ],
   "source": [
    "from sklearn.ensemble import AdaBoostClassifier\n",
    "\n",
    "model = AdaBoostClassifier(base_estimator=base_model,\n",
    "                            n_estimators=50,\n",
    "                            learning_rate=0.5,\n",
    "                            algorithm='SAMME.R',\n",
    "                            random_state=1)\n",
    "model.fit(X_train, y_train)\n",
    "y_pred = model.predict(X_test)\n",
    "print(f\"AdaBoost的准确率：{accuracy_score(y_test,y_pred):.3f}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 测试估计器个数的影响"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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008/xbp168THWq0W8+bNw+HDh3H27FksWrQIhw8fdliR1LJ0UsulOKUnAxMREVF97ApMv/zyCxITE8XH33//PQwGA9577z18/PHHSExMxKZNmxxWJLUck9EEU20Pk6fKxdUQERG5J7sCU0VFBfz8/MTHP/30E+666y6EhYVBKpXinnvuwdWrVx1WJLUcfbVO/LPKi4GJiIioPnYFJl9fXxQVFQEAKisrceHCBfTo0UPcbzabYTabHVMhtajawCQRzJAreEmOiIioPnYN+k5MTMS2bdvg5eWF06dPQxAEq0Heubm5CAwMdFiR1HJ0NwOT0myEVMpboxAREdXHrsA0bdo05Ofn47PPPoNMJsMf//hHhISEAACMRiMOHjyIAQMGOLRQahl6nQEAoDIbXVwJERGR+7IrMKnVavztb39DVVUVFAoFZLJfTyMIAt544w0EBQU5rEhqObWBSSmYXFwJERGR+2rW3Va9vLzqbFMoFIiJiWnOacmJdHoDAAWUQo2rSyEiInJbdgemqqoqbNmyBUePHkVxcTEAICgoCL1798bo0aPrDVPkfvQGEwAFlGBgIiIiaohdo3xLSkrw6quvYv369dDpdEhISEBCQgL0ej3WrVuHV199FaWlpY6ulVqAzmAZu6QEZzUSERE1xK4eplWrVkGr1eLVV19Fr169rPYdO3YM//rXv7Bq1So8/fTTDimSWo7eaOlZUkoYmIiIiBpiVw/T8ePHMXr06DphCQCSkpJw33334dixY80ujlqe3mAJTCqJ4OJKiIiI3JddgUmv11ut9P1barUaer3e7qLIefQmS8+SkkswERERNciun8mIiAjs378fJlPdqegmkwn79+9HREREs4ujlqcz3bwk5+HiQoiIiNyYXWOYxo0bh8WLF+Mvf/kLRo4cifbt2wMA8vLy8O233+Ly5ct44YUXHFootQxDjeVSHAMTERFRw+wKTPfeey/0ej1WrVqFTz75xGqfr68vnnrqKfTr188hBVLL0tUIgARQefCaHBERUUPsXocpJSUFAwcOxC+//GK1DlOnTp3g4cHuitZCbwbgAShkDExEREQNadZK3x4eHoiPj0d8fLyj6iEn05klgAegkjPkEhERNcTuwGQ2m/H999/Xu9L3wIEDeef7VsIgSAAAShkDExERUUPsCkxVVVVYsGABLl68CE9PT4SGhgIATp06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+PEAgAEDBuCJJ57Anj176gSmiooKvP/++/D09AQAdOzYEe+//z527dqF0aNHQxAEfPLJJ7j77rsxZ84cMUQMHz4cL774ItasWYO//vWvVueMjo7Gc88912jtGzduRFlZGd5++23xx33YsGF46aWXsHLlSvTp0wehoaEIDQ3FkiVL0L59e5sDU0FBAT744AMxnPbs2RNz5szB119/Lf5ojxw5sk6vW+fOnfHvf/8bP//8M7p27QoAOHr0KFJTU/HII4+Ix40bN078sz1tdKvMzEycPHkS8+bNs+qNioyMxCeffIJz584hISEBJ0+ehMlkwl/+8hf4+vrWOY9arUZSUhLWrl2L+Ph4m9uqpKQEH3zwAby8vABYAtzGjRthMBjw97//HR4eHgAsl0UzMzORlpYm9no999xzYrAGgBEjRuC///0vdu7ciT/84Q+Qy+Xo3r07AgICUFlZWaemXbt24erVq3jmmWcwcOBAsd3mzp2LNWvWYMiQIeJ3EwCuX7+ODz/80Or9Hz16FJGRkXjxxRdter9ETcExTEROFhoaioEDB2LXrl0oLS112HmHDh0q/lkqlSI2NhaCIFht9/b2RocOHVBYWFjn+YMGDbL6QerXrx/8/f1x7NgxAEBOTg7y8/ORnJyMGzduoLy8HOXl5eLlu7Nnz8JsNludc/jw4TbVfuzYMcTFxVmFBJVKhWHDhqGoqAi5ubm2NUI9fve731n15MXFxaFz587i+wJg9UNvMBhQXl6Ozp07AwAuXbok7vP29sbFixcbHINmTxvd6tChQ4iIiECHDh3E55aXl6Nbt24ALEtA1NYBAD/++ONtz9dU/fr1E8MSALENBg4cKIal2u0mk8mqHW5tw+rqapSXl6Nr167Q6/W4evVqo6997NgxqNVqDBgwQNwmk8lw3333QafTiZfyavXt27dOWPT29sb169dx8eJFG98xke3Yw0TkApMmTUJGRgY2btzosF6m34418vLyglwur/Oj4uXlhRs3btR5fvv27a0eSyQShIWFoaioCACQn58PAOJ4k/pUVVVZjWsJCQmxqfbi4mLxx/lW4eHh4v5bxxw1xW/fV+22gwcPio8rKiqwbt06HDhwAGVlZVbHVlVViX9+6KGHsHTpUjz11FOIjY1FUlISBg8ejNDQUAD2tdGt8vPzcfXqVcycObPe/bW19e/fH7t378bH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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = list(range(2, 102, 2))\n",
    "y = []\n",
    "\n",
    "for i in x:\n",
    "  model = AdaBoostClassifier(base_estimator=base_model,\n",
    "                              n_estimators=i,\n",
    "                              learning_rate=0.5,\n",
    "                              algorithm='SAMME.R',\n",
    "                              random_state=1)\n",
    "  \n",
    "  model.fit(X_train, y_train)\n",
    "  model_test_sc = accuracy_score(y_test, model.predict(X_test))\n",
    "  y.append(model_test_sc)\n",
    "\n",
    "plt.style.use('ggplot')\n",
    "plt.title(\"Effect of n_estimators\", pad=20)\n",
    "plt.xlabel(\"Number of base estimators\")\n",
    "plt.ylabel(\"Test accuracy of AdaBoost\")\n",
    "plt.plot(x, y)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 测试学习率的影响"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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ldXe71YMy+5vZsGCBTIuLk56eXnJxo0by5EjR8qEhARjDajNmzdXuj4zM1NOmDBBBgcHS0VRqv1sEhIS5MMPPyyjoqKku7u7bNSokWzfvr3861//Kjdu3GjWeyGqiZDSyuuDiYhIUw888ACWLFmC48ePo3Xr1lqHQ2STOIeIiMgB6PX6alf4bdy4EcuWLUO7du2YDBHdBOcQERE5gJKSEjRp0gR33HEH2rRpA1dXVyQlJeG3336Du7s7PvnkE61DJLJpHDIjInIA5eXleP7557Fp0yZcvHgRhYWFCAwMRL9+/fDaa68ZyyIAwLx580wqkNm/f/9KG64SOTL2EBEROQAXFxfMnz/fpGvnzZuH8+fPm3QtEyJyFuwhIiIiIqfHSdVERETk9JgQERERkdNjQkREREROjwkREREROT0mREREROT0mBARERGR02NCRERERE6PCRERERE5PSZERERE5PSYEBEREZHTY0JERERETo8JERERETk9JkRERETk9JgQERERkdNjQkREREROjwkREREROT0mREREROT0mBARERGR02NCRERERE6PCRERERE5PSZERERE5PSYEBEREZHTc9U6AHty+fJllJWVaR2GzQoKCkJ2drbWYVAFtodtYXvYFraHbbFWe7i6uqJRo0amXWvxV3dgZWVlKC0t1ToMmySEAKB+RlJKjaMhtodtYXvYFraHbbGV9uCQGRERETk9JkRERETk9JgQERERkdNjQkREREROjwkREREROT0mREREROT0mBARERGR02NCRERERE6PCRERERE5PSZERERE5PSYEBEREZHTY0JERERETo+buxI5IFlchLKsdMhLWfa/eaVfAIQrf1TZAqnXA5cvAbDzv1NCQO/XUOsoyMbwpwyRg5GH90H/3/9D+rUCrUOxjIBAKE9NhYhuoXUkTk1eyoL+k1lAylmtQ7GIVFc3KOMfg7hjmNahkI1gQkTkIKSUkL/9CLnia0BKwNUVEHY+Kq4vB3JzoH/3NSiTXoCI7611RE5Jnj4G/advA1evAIoCuNj5V4eUQFkp9Es+g0i/AHHfZAgXF62jIo3Z+d9qIgIAWVYKufgzyO2/AQBEvyGIeHEmMrKz7XrITF4rhP4/c4HEA9B/Ngfi3gcgho+HEELr0JyGfvdmyIXzgbIyoElTKM/8AyIgSOuw6sxnx6+4svATyM1r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WLAAABAfH4+9e/fivffeQ5cuXZCVlYXffvsNkZGRKCoqqud3VDN/f3/cddddWL16NebMmYNOnTrh/PnzOHjwIBo2bFin6temfgbu7u6IjIzEzp07ERYWBh8fHzRp0gRRUVF47LHHMH36dLz00ksYOHAggoODceXKFZw8eRK5ubmYO3euJT4GIqfAhIiIauXPvSUG/fv3R+PGjfH2229jxYoV2LNnD3755Rc0bNgQTZo0wQMPPFDpWp1Ohw0bNuDw4cOIjIzEs88+i127duHo0aP19VZM8uCDD8LDwwMbN27EkSNH0KpVK/zjH//AG2+8UacK2LX5DKZMmYKvvvoKCxcuRFlZGcaOHYuoqChERkbinXfewfLly7FlyxZcvXoVfn5+iImJwZgxY+r61omcipCWnj1IROTgCgoK8Oijj+L+++/H6NGjtQ6HiCyAc4iIiG6iuorUa9asAQC0a9euvsMhIivhkBkR0U3s3LkTW7ZsQefOneHp6Ynjx49jx44diIuLQ5s2bbQOj4gshAkREdFNREVFwcXFBT///DMKCwvh7++PYcOG4f7779c6NCKyIM4hIiIiIqfHOURERETk9JgQERERkdNjQkREREROjwkREREROT0mREREROT0mBARERGR02NCRERERE6PCRERERE5vf8HrhTP/7HM2CoAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "x = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1]\n",
    "y = []\n",
    "\n",
    "for i in x:\n",
    "  model = AdaBoostClassifier(base_estimator=base_model,\n",
    "                              n_estimators=50,\n",
    "                              learning_rate=i,\n",
    "                              algorithm='SAMME.R',\n",
    "                              random_state=1)\n",
    "  \n",
    "  model.fit(X_train, y_train)\n",
    "  model_test_sc = accuracy_score(y_test, model.predict(X_test))\n",
    "  y.append(model_test_sc)\n",
    "\n",
    "plt.title(\"Effect of learning_rate\", pad=20)\n",
    "plt.xlabel(\"Learning rate\")\n",
    "plt.ylabel(\"Test accuracy of AdaBoost\")\n",
    "plt.plot(x, y)\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 使用GridSearchCV自动调参"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "最优超参数: {'learning_rate': 0.8, 'n_estimators': 42}\n"
     ]
    }
   ],
   "source": [
    "hyperparameter_space = {'n_estimators':list(range(2, 102, 2)), \n",
    "                        'learning_rate':[0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1]}\n",
    "\n",
    "\n",
    "\n",
    "gs = GridSearchCV(AdaBoostClassifier(base_estimator=base_model,\n",
    "                                     algorithm='SAMME.R',\n",
    "                                     random_state=1),\n",
    "                  param_grid=hyperparameter_space, \n",
    "                  scoring=\"accuracy\", n_jobs=-1, cv=5)\n",
    "\n",
    "gs.fit(X_train, y_train)\n",
    "print(\"最优超参数:\", gs.best_params_)"
   ]
  }
 ],
 "metadata": {
  "interpreter": {
   "hash": "d5688316ac304e130f8d317c2d70f320b84a387d628644b2276130309c15ce54"
  },
  "kernelspec": {
   "display_name": "Python 3.7.11 64-bit ('py37': conda)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.11"
  },
  "orig_nbformat": 4
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
